<html>
<head>
    <title>Change Data capture helper </title>
    <script type="text/jscript">
 function sendme()
{
var ml =String.fromCharCode(109,97,105,108,116,111,58,105,103,110,97,116,97,110,100,114,101,105,64,121,97,104,111,111,46,99,111,109
);
window.open(ml);
}</script>
</head>
<body>
    <h1>
        Change Data Capture Helper
    </h1>
    <hr />
    Topics<br />
    <br />
    <a href="#Introduction">Introduction</a><br />
    <a href="#Utility">Utility</a><br />
    <a href="#Gui">GUI</a><br />
    <a href="#Technical_details">Technical details</a><br />
    <hr />
    <a name="Introduction">Introduction</a><br />
    <br />
    This is program is a Change Data Capture(CDC) Helper. It is wrote mainly of two
    reasons:
    <ol>
        <li>Having a GUI for <a href="http://msdn.microsoft.com/en-us/library/bb522489(SQL.100).aspx">
            CDC</a> </li>
        <li><a href="http://blogs.msdn.com/reedme/archive/2008/03/06/calling-all-sql-heroes.aspx">
            Contest Sql Heroes</a> </li>
    </ol>
    The project is licensed under <a href="http://www.microsoft.com/opensource/licenses.mspx#Ms-PL">MS-PL</a> and can be found at <a href="http://www.codeplex.com/CDCHelper/">
        http://www.codeplex.com/CDCHelper/</a>
    <hr />
    <a name="Utility">Utility</a>
    <br />
    <br />
    The main functions of the program:
    <ol type="1">
        <li>Enables Change Data Capture on table bases - by trying to enable CDC on a table
            <ol type="circle">
                <li>Verifying SQL Server version and, if OK (>=2008) starting SQL Server Agent if stopped
                </li>
                <li>Enabling the database for CDC </li>
                <li>Enabling CDC on selected table</li>
            </ol>
        </li>
        <li>Disables CDC on table</li>
        <li>Lists the CDC modification on table - and saves to Excel/Adobe/prints with Report
            Viewer</li>
        <li>Restores table to a previous data</li>
    </ol>
    Known limitations
    <ol type="1">
        <li>Enables CDC only on tables that have PK identity</li>
    </ol>
    <hr />
    <a name="Gui">GUI</a><br />
    <br />
    There are 2 primary GUI - one for PowerShell and one for Windows The Gui for Windows
    is pretty simple
    <img src="CDC.bmp" /><br />
    <br />
    You can connect to a server, then to a database. Then by clicking a table it allows
    you to change CDC and/or to see the modifications.
    <br />
    Please take into account "Create Test Table" button. It creates a test table ,inserts
    1 row, enables CDC on this table, make some modifications in order to ensure show
    the functionality of this program.
    <br />
    The restore data button creates a new table that restores data to the moment selected
    in the grid
    <br />
    The print data button shows you the report with changes that you can easily print
    or save to Excel/PDF.
    <br />
    For the powershell I invite you to read <a href="HowToPS.txt">How to connect in Powershell</a>
    <hr />
    <a name="Technical_details">Technical details</a><br />
    <br />
    The project is made with VS.NET Standard in .NET 3.5, in order to allow easy extend of the SQL Server
    Objects - that are otherwise sealed.
    <br />
    The project is organized in
    <ol>
        <li>one dll that extends the SQL Server Object (server, database, table) with CDC
            methods  </li>
        <li>Windows GUI </li>
        <li>Powershell dll</li>
    </ol>
    Main improvements in final version
    <ol>
        <li>Read/Modify the cleanup date</li>
        <li>Pre-fetch CDC for tables</li>
        <li>Ensure proper way to verify SQL Server Agent is starting.Now reads from SQL Server processes and starts from services... </li>
        <li>Exception for non-administrator roles</li>
    </ol>
    You can contact me at  &nbsp;&nbsp;&nbsp; <a href="javascript:sendme()"><img src="ignatandrei.gif" border="0"/></a>
</body>
</html>
